
class Cache {

  // 设置缓存
  // 单位是秒
  set(key, value, expire = 3600) {
    // js单位是ms
    expire = Date.now() + expire * 1000

    // 把原来value数据改为对象，并且加上缓存时间
    let data = { expire, value }
    // 设置缓存
    wx.setStorageSync(key, data)
  }

  // 获取缓存
  get(key) {
    if (this.has(key)) {
      return ''
    }
    return wx.getStorageSync(key).value
  }
  // 删除key
  remove(key) {
    wx.removeStorageSync(key)
  }

  // 判断是否有此key缓存
  has(key) {
    // key真的不存在
    if (!wx.getStorageSync(key)) return true

    // key存在
    let { expire, value } = wx.getStorageSync(key)
    // 当前时间
    let nowTime = Date.now()
    if (nowTime > expire) {
      // 删除当时key的缓存
      this.remove(key)
      // 返回null或空
      return true
    }
    return false
  }

  // 永久存储
  forever(key, value) {
    this.set(key, value, 9999999999999)
  }



}

export default new Cache